// game.h

// 2008-04-24 22:06:11 (Jake): created

#ifndef game_h
#define game_h 1

#include <string>

#include "song.h"

struct Level {
	static const int Amazing = 0;
	static const int Medium = 1;
	static const int Easy = 2;
	static const int SupaEasy = 3;

	static std::string toString(int d);
};

class Game : public osg::Referenced {
public:
	Game();

	void setTime(double t) { _time = t; }
	double getTime() const { return _time; }

	void setCamera(osg::Camera* camera) { _camera = camera; }
	osg::Camera* getCamera() { return _camera.get(); }

	Song* getSong() { return _song; }
	const Song* getSong() const { return _song; }
	void setSong(Song* song) { _song = song; }

	int getLevel() const { return _level; }
	void setLevel(int level) { _level = level; }

protected:
	double _time;
	int _level;
	osg::ref_ptr<osg::Camera> _camera;
	Song* _song;
};

#endif